# 1、list集合，有序，不唯一
l = [1, 2, 3, 4, 5, 6, 7, 8]

print(l, type(l))

# 增删改查

# 通过下标获取元素
# 正下标，0到n-1
print(l[1])
# 负下标，-1到-n
print(l[-1])
print(l[len(l) - 1])

# 追加元素
l.append(1)

print(l)

# 删除元素
# 根据值删除元素，智慧删除一个
l.remove(1)
print(l)

# 使用下标删除元素
del l[-1]
print(l)

# 插入元素
l.insert(-1, 100)
print(l)

# 列表的切片（返回一个新的列表）
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
# 切片语法: 列表的名称[开始位置:结束位置:步长]
# 含头不含尾
print(l[0:6])
# 如果开始不写，代表从头开始
# 如果末尾不写代表截取到末尾
print(l[::2])
# 步长默认时1
print(l[::])
# 步长等于-1时，从后往前取，返回一个新的列表
print(l[::-1])

# 反转列表，对源列表进行反转
l.reverse()
print(l)

# 嵌套列表
ll = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(ll)
print(ll[1][2])

# 按照空格拼接列表
l = ['1', '2', '3', '4', '5', '6', '7', '9']
print(l)
# join: 将一个列表拼接成一个字符串
print(" ".join(l))

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

# 修改元素
l[-1] = 100
print(l)
